//V1:只实现了学生信息录入、成绩排序、成绩输出功能
//v1:三个数组分别存储学生学号、姓名和成绩 
#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
	char sno[N][20];
	char name[N][20];
	int score[N]={0};
	
	//录入学生信息
	int i,j,n;
	printf("\n 请输入学生总人数： "); 
	scanf("%d",&n);
	printf("-----------------------\n");
	printf("*****输入学生信息***** \n");
	printf("-----------------------\n");
	printf("学号\t姓名\tC语言成绩  \n");
	printf("-----------------------\n");
	for(i=0;i<n;i++)
	{
		scanf("%s", sno[i]);
      	scanf("%s", name[i]);
      	scanf("%d",&score[i]);
	} 
	
	//成绩排序
	for(i=0; i<n-1; i++) 
	{
		//第i趟排序交换
      	for(j=i+1; j<n; j++)
        {
        	if(score[j]>score[i])
      		{
				int t = score[i]; 
				score[i] = score[j]; 
				score[j] = t;
                    
				char temp[20];
				strcpy(temp, sno[i]);
				strcpy(sno[i], sno[j]);
				strcpy(sno[j], temp);
			
				strcpy(temp, name[i]);
				strcpy(name[i], name[j]);
				strcpy(name[j], temp);
      		}
        }   
	}
	
	//输出学生信息
	printf("-----------------------\n");
	printf("*****输出学生信息*****\n");
	printf("----------------------\n");
	printf("学号\t姓名\tC语言成绩\n");
	printf("----------------------\n");
	 for(i=0;i<n;i++)
	 {	 	
		printf("%s  %s  %d\n",sno[i],name[i],score[i]);
	 } 
 
	return 0;
}
